home *** CD-ROM | disk | FTP | other *** search
/ Aminet 16 / Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso / Aminet / dev / src / wangisrc.lha / wangi / z / ea / machine.h < prev    next >
C/C++ Source or Header  |  1996-02-04  |  2KB  |  117 lines

  1. /*************************************************************************
  2.  *
  3.  * ea/deea
  4.  *
  5.  * Copyright ©1995 Lee Kindness and Evan Tuer
  6.  * cs2lk@scms.rgu.ac.uk
  7.  *
  8.  * machine.h
  9.  *  Allows use of system specific functions => smaller code or just to use
  10.  *  ANSI functions.
  11.  */
  12.  
  13. #ifndef _MACHINE_H_
  14. #define _MACHINE_H_
  15.  
  16. /* Remove to compile on a WB 1.3 Amiga */
  17. #ifdef _AMIGA
  18. #define AMIGA
  19. #endif
  20.  
  21. #ifdef MSDOS
  22. #define BRKCHARS ":\\"
  23. #else
  24. #define BRKCHARS "/:"
  25. #endif
  26.  
  27. #ifdef AMIGA
  28. /* Lets be Amiga specific */
  29.  
  30. #include <exec/types.h>
  31. #include <exec/memory.h>
  32. #include <dos/dos.h>
  33.  
  34. #include <clib/exec_protos.h>
  35. #include <clib/dos_protos.h>
  36. #include <pragmas/exec_sysbase_pragmas.h>
  37. #include <pragmas/dos_pragmas.h>
  38.  
  39. extern struct ExecBase *SysBase;
  40. extern struct DosLibrary *DOSBase;
  41.  
  42. #define mprintf Printf
  43. #define mfprintf FPrintf
  44. typedef BPTR FILEt;
  45. #define FILEOPEN_READ MODE_OLDFILE 
  46. #define FILEOPEN_WRITE MODE_NEWFILE
  47. #define mfopen(F,M) Open(F,M)
  48. #define mfgetc(F) FGetC(F)
  49. #define mfgets(B,S,F) FGets(F,B,S-1)
  50. #define mfputc(C,F) FPutC(F,C)
  51. #define mfclose(F) Close(F)
  52. #define mmalloc(S) AllocVec(S,0)
  53. #define mfree(P) FreeVec(P)
  54. void msprintf(char *buffer, char *format, ...);
  55.  
  56. #else /* AMIGA */
  57. /* Use ANSI functions */
  58.  
  59. #include <stdio.h>
  60. #include <stdlib.h>
  61.  
  62. #define mprintf printf
  63. #define mfprintf fprintf
  64. typedef FILE *FILEt;
  65. #define FILEOPEN_READ "r"
  66. #define FILEOPEN_WRITE "w"
  67. #define mfopen(F,M) fopen(F,M)
  68. #define mfgetc(F) fgetc(F)
  69. #define mfgets(B,S,F) fgets(B,S,F)
  70. #define mfputc(C,F) fputc(C,F) 
  71. #define mfclose(F) fclose(F)
  72. #define mmalloc(S) malloc(S)
  73. #define mfree(P) free(P)
  74. #define msprintf sprintf
  75.  
  76. #endif /* AMIGA */
  77.  
  78.  
  79. #ifdef __TURBOC__
  80.  
  81. #pragma warn -pia
  82.  
  83. #endif /* __TURBOC__ */
  84.  
  85.  
  86. struct Args
  87. {
  88.     char          *arg_Filename;
  89.     char          *arg_Dest;
  90.     unsigned long  arg_Size;
  91. #ifdef AMIGA
  92.     struct RDArgs *arg_RAHandle;
  93. #endif /* AMIGA */
  94. };
  95.  
  96. int InitSystem( void );
  97. void FreeSystem( void );
  98.  
  99.  
  100. #ifdef _EA_H_
  101.  
  102. struct Args *GeteaArgs(int argc, char **argv);
  103. void FreeeaArgs(struct Args *args);
  104.  
  105. #endif /* _EA_H_ */
  106.  
  107.  
  108. #ifdef _DEEA_H_
  109.  
  110. struct Args *GetdeeaArgs(int argc, char **argv);
  111. void FreedeeaArgs(struct Args *args);
  112.  
  113. #endif /* _DEEA_H_ */
  114.  
  115.  
  116. #endif /* _MACHINE_H_ */
  117.